using System;
using EPiServer.Common;

namespace EPiAbstractions.Common
{
    public interface ISiteHandlerFacade
    {
        ISite GetSite(Int32 siteId);

        ISite ResolveSite(String alias);

        SiteCollection GetSiteList();

        ISite AddSite(ISite site);

        void UpdateSite(ISite site);

        void RemoveSite(ISite site);

        event SiteEventHandler SiteAdded;

        event SiteEventHandler SiteRemoved;

        event SiteEventHandler SiteUpdated;

        ISiteAlias GetSiteAlias(Int32 id);
    }
}